1. Field of the Invention
The present invention relates to networked computer systems. More specifically, the present invention relates to a method and an apparatus for facilitating automatically using a pre-defined peer-to-peer group as a context for an application.
2. Related Art
The explosive growth of the Internet, as well as the growth of large corporate networks, has been fueled by the sharing of information. Virtually all corporate computers, as well as many personal computers, are attached to some sort of network. In recent years, many different types of network-aware protocols have been created to facilitate the sharing of information and the organization of workgroups.
Traditionally, workgroups have been arranged around servers which store and disseminate information to the members of the workgroup. In many instances, clients in a workgroup request information from a server which then delivers the requested information back to the client. This is extremely evident on the Internet where an enormous amount of traffic is the result of browsers on client computers requesting information from web servers which deliver the content back to the requesting browser.
In recent years, the emphasis on many networks has shifted from the client/server approach to a distributed computing approach where virtually all computers attached to the network can act as a server as well as a client. This distributed approach helps balance network traffic by keeping traffic local in many instances, and utilizes otherwise unused network and computing capacity. In addition, numerous programs have been created to facilitate the sharing of files on client computers with the rest of the network.
While the protocols that support networking groups, such as peer-to-peer groups, are complex and well-defined, and have been used by many programs to allow for communications between peers in the group, they cannot currently be used to define a context for an application. Most network-aware applications require the building and maintaining of groups inside the application. For example, in a typical chat program, the user must build the list of contacts that he or she would like to communicate with, even if the client computer is a member of a predefined networking group. In other words, group sharing mechanisms of today allow us simply to share content, but not to share activities or group definitions in a transparent manner to the user.
What is needed is a method and apparatus for automatically using a predefined networking group as a context for an application.